﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EvoBoost.Core
{
	public interface ILossFunction
	{
		double Calculate(double expectedOutcome, double realOutcome);

		double Minimize(IList<double> previouslyBoostedOutcomes, IList<double> expectedOutcomes);

		double FindOptimalSplit(IList<double> previouslyBoostedOutcomes, IList<double> expectedOutcomes, IList<double> splitterValues);
	}
}
